package com.clubupc.negocio;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;

import com.clubupc.dao.BaseDAO;
import com.clubupc.exception.DAOException;
import com.clubupc.modelo.BaseBean;
import com.clubupc.modelo.ProxyBeans;

public class UsuarioNegocio {

	public UsuarioNegocio() {
	}

	public BaseBean getUsuarioByMail(String mail) {
		BaseDAO bd = new BaseDAO();
		BaseBean usuario = null;
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("correo", mail);
		try {
			LinkedList<BaseBean> lista = bd.selectByParams(params, "Usuario");
			if (lista != null && !lista.isEmpty()) {
				usuario = lista.get(0);
			}
		} catch (DAOException e) {
			e.printStackTrace();
		}
		return usuario;
	}

	public BaseBean getUsuarioByDoc(Integer tipoDoc, String numDoc) {
		BaseDAO bd = new BaseDAO();
		BaseBean usuario = null;
		Map<String, Object> params = new HashMap<String, Object>();
		params.put("idTipoDocumento", tipoDoc);
		params.put("numDocumento", numDoc);

		try {
			LinkedList<BaseBean> lista = bd.selectByParams(params, "Usuario");
			if (lista != null && !lista.isEmpty()) {
				usuario = lista.get(0);
			}
		} catch (DAOException e) {
			e.printStackTrace();
		}
		return usuario;
	}

	public BaseBean createUsuario(Integer tipoUser, Integer sexo, Integer tipoDoc, String numDoc, String nombres, String apePater, String apeMater,
			String email, String numCel, String direccion, String password) {

		BaseBean beanUsuario = ProxyBeans.getBaseBean("Usuario").newInstance();
		beanUsuario.putId("idTipoUsuario", tipoUser);
		beanUsuario.putId("idSexo", sexo);
		beanUsuario.putId("idTipoDocumento", tipoDoc);
		beanUsuario.put("numDocumento", numDoc);
		beanUsuario.put("nombres", nombres);
		beanUsuario.put("apePaterno", apePater);
		beanUsuario.put("apeMaterno", apeMater);
		beanUsuario.put("correo", email);
		beanUsuario.put("celular", numCel);
		beanUsuario.put("direccion", direccion);
		beanUsuario.put("contrasenia", password);

		BaseDAO bd = new BaseDAO();
		try {
			beanUsuario = bd.insertByBaseBean(beanUsuario);
		} catch (DAOException e) {
			e.printStackTrace();
		}
		return beanUsuario;
	}
}
